// src/models/launches.model.js
const launches = new Map();
let latestFlightNumber = 100;
const launch = {
flightNumber: 100,
mission: 'Kepler Exploration X',
 rocket: 'Explorer IS1',
 launchDate: new Date('December 27, 2030'),
 target: 'Kepler-442 b',
 customer: ['GKD', 'NASA'],
 upcoming: true,
 success: true,
 };

 launches.set(launch.flightNumber, launch);

 // 判断是否存在指定ID 的发射任务
function existsLaunchWithId(launchId) {
   return launches.has(launchId);
}

 function getAllLaunches() {
    return Array.from(launches.values());
 }
 function addNewLaunch(launch) {
   latestFlightNumber++;
   launches.set(
      latestFlightNumber,
      Object.assign(launch, {
         success: true,
         upcoming: true,
         customers: ['GKD', 'NASA'],
         flightNumber: latestFlightNumber,
      })
   );
 }

// 取消指定ID 的发射任务
function abortLaunchById(launchId) {
   const aborted = launches.get(launchId);
   aborted.upcoming = false;
   aborted.success = false;
   return aborted;
}

 module.exports = {
   existsLaunchWithId,
   getAllLaunches,
   addNewLaunch,
   abortLaunchById,
 };